package com.bjsxt.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author:liao
 * @Description:TODO
 * @date:2020/12/14
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "com-bjsxt-dto-UserDto")
@EqualsAndHashCode(callSuper = true)// 表示使用equals比较时考虑父类的属性
public class UserDto extends BaseDto{
    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Long userId;
    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id")
    @NotNull(message = "部门id不能为空")
    private Long deptId;
    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    @NotBlank(message = "用户名不能为空")
    private String userName;
    /**
     * 性别(0男 1女 2未知)
     */
    @ApiModelProperty(value = "用户性别(0男 1女 2未知)")
    @NotBlank(message = "用户性别不能为空")
    private String sex;
    /**
     * 用户年龄
     */
    @ApiModelProperty(value = "用户年龄")
    private Integer age;
    /**
     * 头像
     */
    @ApiModelProperty(value = "头像")
    private String picture;

    /**
     * 学历
     */
    @NotBlank(message = "用户学历不能为空")
    @ApiModelProperty(value = "学历")
    private String background;

    /**
     * 电话
     */
    @NotBlank(message = "用户电话不能为空")
    @ApiModelProperty(value = "用户电话")
    private String phone;

    /**
     * 用户邮箱
     */
    @ApiModelProperty(value = "用户邮箱")
    private String email;
    /**
     * 擅长
     */
    @ApiModelProperty(value = "擅长")
    private String strong;
    /**
     * 荣誉
     */
    @ApiModelProperty(value = "荣誉")
    private String honor;

    /**
     * 简介
     */
    @ApiModelProperty(value = "简介")
    private String introduction;
    /**
     * 医生级别
     */
    @NotBlank(message = "医生级别不能为空")
    @ApiModelProperty(value = "医生级别")
    private String userRank;

    /**
     * 账号状态
     */
    @NotBlank(message = "账号状态不能为空")
    @ApiModelProperty(value = "账号状态(0正常 1停用)")
    private String status;

    /**
     * 是否需要参与排班
     */
    @NotBlank(message = "是否需要参与排班不能为空")
    @ApiModelProperty(value = "是否需要参与排班 0需要 1不需要")
    private String schedulingFlag;
}
